package com.zzl.springboot_mybatis_demo.mapper.user;

import com.zzl.springboot_mybatis_demo.aspect.SetCreateTime;
import com.zzl.springboot_mybatis_demo.entity.user.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * Description：用户Mapper
 * Created by 朱正磊 on 2019-06-16 15:11
 */
@Mapper
@Repository
public interface UserMapper {

    Integer deleteByPrimaryKey(Integer id);

    Integer insert(User record);

    @SetCreateTime
    Integer insertSelective(User record);

    User selectByPrimaryKey(Integer id);

    Integer updateByPrimaryKeySelective(User record);

    Integer updateByPrimaryKey(User record);

    /**
     * description：根据主键查询唯一数据
     * user 朱正磊
     * time 2019-06-16 17:06
     * @param id 主键
     * @return 返回唯一数据
     */
    User findUserById(Integer id);

    /**
     * description：根据主键查询唯一数据
     * （该方法仅仅只是用来模拟如果没有查询到数据，返回的集合是null，还是不为null但是集合元素个数为0）
     * user 朱正磊
     * time 2019-06-16 17:06
     * @param userId 主键
     * @return 返回唯一数据
     */
    List<User> findUserByUserId(Integer userId);

    /**
     * description：查询所有的用户信息并分页显示
     * user 朱正磊
     * time 2019-06-16 23:06
     * @return 返回用户分页列表
     */
    List<User> findAll();

}
